The present disclosure relates generally to systems and methods for implementing customized routing in a network using a modularized processing environment, and relates more particularly to providing a facility for selecting specific routes for routing messages in a network while avoiding exposing the complexities of message routing processing to an application program.
Processing communications in a telecommunication network sometimes involves the routing of communication messages, where the messages are sent on a specified path through the network. As used herein, a “message” refers to any type of communication that uses a telecommunication network for transport, and may include communications related to video, voice, text or other data transmission communications. For example, call signaling messages are routed through a telecommunication network to set up, manage and tear down a call. When a call is made, a call session is typically initiated, for which zero or more call signaling messages can be generated. The call signaling messages are routed to components in the communication network to manage the call during the call session.
Typically, messages are routed in a network in accordance with various protocols. For example, a call signaling-oriented protocol such as SS7 or SIP may be used to process call signaling messages. Other message handling protocols may be used for purposes such as to implement authentication of users of the telecommunication network, to authorize use of particular telecommunication network services and/or to convey accounting information related to the authorized user. One such protocol for handling such messages, including routing those messages through a network, is the Diameter protocol, which can be used within telecommunication networks that offer universal mobile telecommunications system (UMTS) and long-term evolution (LTE) services.
The Diameter protocol contributes to determining how to route messages related to authentication, authorization and accounting, which determination(s) may be made, at least in part, based on Diameter protocol specified parameters of destination-host, destination-realm and/or application ID, which parameters are defined by the Diameter protocol specification in IETF RFC 3588 (2003). The destination-host, destination-realm and application ID parameters are contained within the Diameter protocol message that is to be routed, as may occur during a call session, for example. An implementation of the Diameter protocol specification includes rules and procedures for routing based on the above-noted Diameter protocol parameters. It should be appreciated that Diameter protocol messages may be generated and routed through the network, in the absence of a call or call session, such as when a subscriber activates (turns on) a mobile phone in a mobile service cell area to establish a presence in the cell area. The Diameter protocol defines a precedence for evaluating the above-noted parameters to select a route in the order of (1) destination-host, (2) both destination-host and application ID and (3) destination-realm.
Messages originated by users, or clients, are typically routed to servers, which may be for example, signaling servers, that process the messages such as by providing responses or routing services. The routing of the messages, including those based on the Diameter protocol, may be implemented using various agents. The agents may be configured to implement security policies between administrative domains, avoid exposure of network architecture, consolidate routing configurations, implement routing policies and/or resolve interoperability issues. Some agents are defined explicitly for the Diameter protocol, including relay, proxy, redirect and translation agents. One or more of these agents may perform any, some or all of the operations of: receiving a message, analyzing a message, modifying a message and/or routing the message to an indicated destination.
The implementation and operation of the agents can be somewhat complex. For example, the routing function performed by an agent can be influenced by such factors as peer availability, advertized capabilities of a network node, flow control mechanisms, signaling network management state and load sharing. Because implementation of routing functionality is typically a complex undertaking, due at least in part to some of the above-mentioned factors, development of such an implementation is often time consuming, uses extensive development resources and is technically challenging. Due to some of these difficulties, entities that seek to provide network equipment that implement routing face significant challenges in developing and implementing routing functionality in the network equipment.
The challenges of implementing routing functionality in network equipment have resulted in some equipment builders looking to third parties to develop and package routing functionality in a modularized component. The equipment builders can then incorporate such a routing functionality component in the equipment, often with other modularized components, which can reduce the complexity of the overall equipment implementation. The operator of the equipment (which may be a builder), referred to herein as a user, may then access the routing functionality component with an application program via an interface that is intended to be simplified to promote interoperability between the routing functionality component and other components in the telecommunication equipment. The user of the telecommunication equipment thus does not typically deal with the complexities of implementing routing functionality, but rather leaves that task to the third party provider of the routing functionality component.
The equipment builder, user and third party provider can all stand to benefit from the modularization of the telecommunication equipment. The complexity and cost of building the equipment is reduced for the builder by taking a modular approach. The user can coordinate operations among modules more easily with improved organization that tends to make proper maintenance of the equipment easier to achieve. The third party provider can typically take advantage of economies of scale by providing the routing functionality component to numerous telecommunication equipment builders, so that the significant development costs associated with the routing functionality component can be spread among the builders or users. The routing functionality component typically incorporates routing protocols, including the Diameter protocol, and typically implements the complex routing functionality desired by the telecommunication equipment builder. The routing functionality component may expose a simplified interface to permit the user to easily access and utilize the complex routing functionality.
In some instances, a telecommunication equipment builder or a user might seek to provide proprietary or custom routing operations based on proprietary or custom routing parameters, policies or logic, for example. These proprietary or custom routing operations are sometimes implemented with the intent of optimizing network operations, supporting a value added service, enforcing one or more security policies, or for other reasons that may be specific to the telecommunication equipment builder or user. However, equipment builders and users are often limited in the proprietary or custom routing operations that can be performed through the simplified interface with the third party routing functionality component.
As a result, telecommunication equipment builders may undertake to implement such proprietary or custom routing in conjunction with implementing the routing functionality themselves, with all the attendant complexity and development challenges, such as some or all of those discussed above. In such cases, the telecommunication equipment builder will usually lose the advantages of utilizing a third party routing functionality component with a simplified interface, and will typically be forced to absorb the significant development costs associated with customizing the routing operations in conjunction with implementing the complex routing functionality. In such an instance, the telecommunication equipment builder would essentially develop a customized routing functionality component that is similar in many ways to the routing functionality component with the simplified interface offered by the third party, while expending significant resources for development costs.